package scau.mis4.chanyulin.tools.utils;

/**
 * Created by cyl on 2017/3/12
 * 字符串工具类
 */
public class StrUtils {

    /**
     * 若字符串不是以指定字符串结束，则将其拼接上去
     * @param str 原字符串
     * @param endPart 指定字符串
     */
    public static String addIfNotEndWith(String str, String endPart) {
        if (!str.endsWith(endPart)) {
            return str + endPart;
        } else {
            return str;
        }
    }

    /**
     * 若字符串以指定字符串结束，则将其删除
     * @param str 原字符串
     * @param endPart 指定字符串
     */
    public static String deleteIfEndWith(String str, String endPart) {
        if (str.endsWith(endPart)) {
            int index = str.lastIndexOf(endPart);
            return str.substring(0, index);
        } else {
            return str;
        }
    }

    /**
     * 判断字符串第一个字符是否为汉字
     * @param str 字符串
     */
    public static boolean startWithChinese(String str) {
        char c = str.trim().charAt(0);
        return Character.toString(c).matches("[\\u4E00-\\u9FA5]+");
    }

    /**
     * 判断字符串第一个字符是否为英文字母
     * @param str 字符串
     */
    public static boolean startWithEnglish(String str) {
        char c = str.trim().charAt(0);
        return  (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
    }

    /**
     * 统计字符串中汉字的个数
     * @param str 字符串
     */
    public static int countChineseCharacter(String str) {
        char[] chars = str.toCharArray();
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            if (Character.toString(chars[i]).matches("[\\u4E00-\\u9FA5]+"))
                count ++;
        }
        return count;
    }

}
